#!usr/bin/env python  
# -*- coding:utf-8 -*-
""" 
@author:robot
@file: title02分糖果.py 
@version:
@time: 2023/05/26

小明从糖果盒中随意抓一把糖果
每次小明会取出一半的糖果分给同学们
当糖果不能平均分配时
小明可以从糖果盒中（假设盒中糖果足够）取出一个或返回一个糖果
小明至少需要多少次（取出放回和平均分配均记一次）能将手中糖果分至只剩一颗

输入 15

输出 5

15 + 1 = 16
16/2 = 8
8/2 = 4
4/2 = 2
2/2 = 1
"""


def solveMethod(x):
    count = 0
    while x != 1:
        if x == 3:
            count += 2
            break
        if x % 2 != 0:
            # 如果x+1//2 为偶数那么x+=1
            if (x + 1) // 2 % 2 == 0:
                x += 1
            # 如果x+1//2 为奇数，那么x-=1
            else:
                x -= 1
            # count +=1
            count += 1  # 均记为一次
        # x//=2, count+=1
        x //= 2
        count += 1  # 每次取出一半的糖果给同学们
    print(count)


solveMethod(15)
